package thinking

object for循环 {
  def main(args: Array[String]): Unit = {
    //普通循环写法
    for (i <- 1 to 10) {
      println("我是第" + i + "名")
    }
    for (i <- Range(1, 10)) {
      println("我是第" + i + "名")
    }

    //使用循环守卫
    for (i <- 1 to 10 if {
      i < 4
    }) {
      println(i)
    }

    //引入变量 j,可以继续在循环代码中使用
    for (i <- 1 to 10; j = i + 1) {
      println(j)
    }

    //嵌套循环,写起来比较简洁
    for (i <- 1 to 3; j <- 1 to 3) {
      println(i + ":" + j)
    }

    //循环返回值 (可以将遍历过程中的处理结果返回到一个新的集合中,使用简单)
    val res = for (i <- 1 to 10) yield i

    val resp = for (i <- 1 to 10) yield {
      if (i > 5) i
      else "小于5"
    }
    println(resp)

    //for循环括号的使用形式
    for {
      i <- 1 to 5
    } {
      println(i)
    }

    //循环的步长控制 使用Range,最后一个参数表示步长
    for (i <- Range(1, 10, 2)) {
      print(i)
    }

    //for循环守卫实现  %几 步长就是几
    for (i <- 1 to 10 if i % 2 == 1) {
      println(i)
    }


  }
}
